﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;

public partial class WebUserControl_ControlChuyenNguoiBaoTro : System.Web.UI.UserControl
{
    ClassExecute.ClassExecute dt;
    string str = BCDataCenter.Configuration.CurrentConnectionString;
    static string error = "";
    static bool flag = false;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                GetTTPP();
               
            }
            catch (Exception ex)
            {
                BCDataCenter.ClassWriteLogErr obj = new BCDataCenter.ClassWriteLogErr();
                string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
                obj.ErrorLog(ex.Message, method);
            }
        }
    }
    protected void btCheck_Click(object sender, EventArgs e)
    {
        try
        {
                dt = new ClassExecute.ClassExecute();
                int iCheckRecommender = dt.ExecuteSQl_int(str, "[ls_checkRecommender]", CommandType.StoredProcedure, ref error,
                       new SqlParameter("@siteCode", DropTTPP.SelectedValue.ToString()),
                       new SqlParameter("@SalespKey", txtMaBA.Text.Trim()),
                       new SqlParameter("@RecKey", txtNguoiDangBaoTro.Text.Trim()));
                if (iCheckRecommender == 0)
                {
                    int iCheckTuyenDuoiTVV = dt.ExecuteSQl_int(str, "[ls_isInRelation]", CommandType.StoredProcedure, ref error,
                        new SqlParameter("@amIBranch", txtNguoiSeBaoTro.Text.Trim()),
                        new SqlParameter("@amIRoot", txtMaBA.Text.Trim()));
                    if (iCheckTuyenDuoiTVV == 0)
                    {
                        string NguoiSeBaoTro = dt.GetDataDepend(str, "[ls_getBAName]", CommandType.StoredProcedure, ref error,
                           new SqlParameter("@saleSpKey", txtNguoiSeBaoTro.Text.Trim()));
                        if (NguoiSeBaoTro == "Not Existed")
                        {
                            uscMsgBox1.AddMessage("Mã BA người sẽ được bảo trợ " + txtNguoiSeBaoTro.Text + " không tồn tại trong hệ thống", uscMsgBox.enmMessageType.Error);
                        }
                        else
                        {
                            txtHoTenBA.Text = dt.GetDataDepend(str, "[ls_getBAName]", CommandType.StoredProcedure, ref error,
                                new SqlParameter("@saleSpKey", txtMaBA.Text.Trim()));
                            txtTenNguoiDangBaoTro.Text = dt.GetDataDepend(str, "[ls_getBAName]", CommandType.StoredProcedure, ref error,
                                new SqlParameter("@saleSpKey", txtNguoiDangBaoTro.Text.Trim()));
                            txtTenNBguoiSeBaoTro.Text = NguoiSeBaoTro;
                            flag = true;
                            LockText();
                        }
                    }
                    else
                    {
                        uscMsgBox1.AddMessage("Mã BA người sẽ bảo trợ " + txtNguoiSeBaoTro.Text + " thuộc tuyến dưới của BA " + txtMaBA.Text + ",đề nghị chọn lại", uscMsgBox.enmMessageType.Error);

                    }
                }
                else if (iCheckRecommender == 1)
                {
                    uscMsgBox1.AddMessage("Trung tâm phân phối " + DropTTPP.SelectedItem.ToString() + " không tồn tại mã BA " + txtMaBA.Text, uscMsgBox.enmMessageType.Error);
                }
                else if (iCheckRecommender == 2)
                {
                    uscMsgBox1.AddMessage("Mã người bảo trợ " + txtNguoiDangBaoTro.Text + " không tồn tại trong hệ thống", uscMsgBox.enmMessageType.Error);

                }
                else if (iCheckRecommender == 3)
                {
                    uscMsgBox1.AddMessage("Mã BA " + txtMaBA.Text + " không thuộc người bảo trợ có mã " + txtNguoiDangBaoTro.Text, uscMsgBox.enmMessageType.Error);
                }
            }
        catch (Exception ex)
        {
            BCDataCenter.ClassWriteLogErr obj = new BCDataCenter.ClassWriteLogErr();
            string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
            obj.ErrorLog(ex.Message, method);
        }
    }
    protected void btChonLai_Click(object sender, EventArgs e)
    {
        try
        {
            DropTTPP.BackColor = Color.White;
            txtMaBA.BackColor = Color.White;
            txtNguoiDangBaoTro.BackColor = Color.White;
            txtNguoiSeBaoTro.BackColor = Color.White;
           
            ChChuyenDoanhSoTu.BackColor = Color.White;

            DropTTPP.Enabled = true;
            txtMaBA.ReadOnly = false;
            txtNguoiDangBaoTro.ReadOnly = false;
            txtNguoiSeBaoTro.ReadOnly = false;
           
            ChChuyenDoanhSoTu.Enabled = true;

            flag = false;
        }
        catch (Exception ex)
        {
            BCDataCenter.ClassWriteLogErr obj = new BCDataCenter.ClassWriteLogErr();
            string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
            obj.ErrorLog(ex.Message, method);
        }
    }
    protected void btChuyenDoanhSo_Click(object sender, EventArgs e)
    {
        try
        {
            dt = new ClassExecute.ClassExecute();
            if (flag)
            {
                 bool kq =false;
                 if (ChChuyenDoanhSoTu.Checked)
                 {
                     kq = dt.ExecuteSQl_bool(str, CommandType.StoredProcedure, "[ls_changeRecommender]", ref error,
                          new SqlParameter("@salesPKey", txtMaBA.Text.Trim()),
                          new SqlParameter("@newRecKey", txtNguoiSeBaoTro.Text.Trim()),
                          new SqlParameter("@userID", Session["username"].ToString()),
                          new SqlParameter("@MoveAll",1));
                 }
                 else
                 {
                     kq = dt.ExecuteSQl_bool(str, CommandType.StoredProcedure, "[ls_changeRecommender]", ref error,
                           new SqlParameter("@salesPKey", txtMaBA.Text.Trim()),
                           new SqlParameter("@newRecKey", txtNguoiSeBaoTro.Text.Trim()),
                           new SqlParameter("@userID", Session["username"].ToString()),
                           new SqlParameter("@MoveAll", 0));
                 }
                if (kq)
                {
                   
                        uscMsgBox1.AddMessage("Chuyển người bảo trợ thành công", uscMsgBox.enmMessageType.Success);
                    
                }
                else
                {
                    uscMsgBox1.AddMessage("Chuyển người bảo trợ thất bại", uscMsgBox.enmMessageType.Error);

                }
                Reset();
                flag = false;
            }
            else
            {
                uscMsgBox1.AddMessage("Bạn chưa thực hiện kiểm tra dữ liệu", uscMsgBox.enmMessageType.Error);
            }
        }
        catch (Exception ex)
        {
            BCDataCenter.ClassWriteLogErr obj = new BCDataCenter.ClassWriteLogErr();
            string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
            obj.ErrorLog(ex.Message, method);
        }
    }
    protected void btXoaManHinh_Click(object sender, EventArgs e)
    {
        try
        {
            Reset();
        }
        catch (Exception ex)
        {
            BCDataCenter.ClassWriteLogErr obj = new BCDataCenter.ClassWriteLogErr();
            string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
            obj.ErrorLog(ex.Message, method);
        }
    }
    void Reset()
    {             
        txtMaBA.Text = "";
        txtHoTenBA.Text = "";
        txtNguoiDangBaoTro.Text = "";
        txtTenNguoiDangBaoTro.Text = "";
        txtNguoiSeBaoTro.Text = "";
        txtTenNBguoiSeBaoTro.Text = "";
        DropTTPP.SelectedIndex = 0;
        ChChuyenDoanhSoTu.Checked = false;

        DropTTPP.BackColor = Color.White;
        txtMaBA.BackColor = Color.White;
        txtNguoiDangBaoTro.BackColor = Color.White;
        txtNguoiSeBaoTro.BackColor = Color.White;
        ChChuyenDoanhSoTu.BackColor = Color.White;

        DropTTPP.Enabled = true;
        txtMaBA.ReadOnly = false;
        txtNguoiDangBaoTro.ReadOnly = false;
        txtNguoiSeBaoTro.ReadOnly = false;
        ChChuyenDoanhSoTu.Enabled = true;
    }
    void GetTTPP()
    {
        dt = new ClassExecute.ClassExecute();
        DataTable db = dt.Get_Data_DataTable(str, ref error, "[ls_getDistributorList]", CommandType.StoredProcedure);
        DropTTPP.DataSource = db;
        DropTTPP.DataTextField = "sitename";
        DropTTPP.DataValueField = "Sitecode";
        DropTTPP.DataBind();
    }
    void LockText()
    {
        DropTTPP.BackColor = Color.Yellow;
        txtMaBA.BackColor = Color.Yellow;
        txtNguoiDangBaoTro.BackColor = Color.Yellow;
        txtNguoiSeBaoTro.BackColor = Color.Yellow;
        ChChuyenDoanhSoTu.BackColor = Color.Yellow;

        DropTTPP.Enabled = false;      
        txtMaBA.ReadOnly = true;
        txtNguoiDangBaoTro.ReadOnly = true;
        txtNguoiSeBaoTro.ReadOnly = true;
        ChChuyenDoanhSoTu.Enabled = false;
    }
}
